A technical computing environment provides mathematical and graphical tools for mathematical computation, data analysis, visualization and algorithm development. MATLAB® from The MathWorks, Inc. of Natick, Mass. is one example of technical computing environments. MATLAB® computing environment integrates numerical analysis, matrix computation, signal processing, and graphics in an easy-to-use environment where problems and solutions are expressed in familiar mathematical notation, without traditional programming. A technical computing environment can be used to solve complex engineering and scientific problems by developing mathematical models that simulate the problem.
A technical computing environment may allow scientists and engineers to interactively perform complex analysis and modeling in their familiar workstation environment. At times, users may want to use more than one computational unit executing a technical computing environment. Multiple computational units may be used to increase the computing power, to decrease computational time, to balance computing loads, or for other reasons as determined by one of skill in the art.
Applications that are traditionally used as desktop applications, may need to be modified to be able to utilize the computing power of concurrent computing. The term “concurrent computing” can refer to parallel and/or distributed computing—that is, it encompasses computing performed simultaneously or nearly simultaneously, as well as computing performed on different computing units, regardless of the timing of the computation.
A computation unit may be any unit capable of carrying out processing. Computation units may be, but are not limited to: separate processors, cores on a single processor, hardware computing units, software computing units, software threads, portable devices, biological computing units, quantum computing units, etc.,